package CompositePattern;

public class CompositeClient {

    //创建一个静态方法: 把树形结构文件夹构建起来，因为静态方法会把所有代码执行一遍
    public  static AbstractComponent buildTree(){
        AbstractComponent root = new FileFolder("娱乐");//根目录
        //创建三个容器节点:音频 视频 图片
        AbstractComponent audio = new FileFolder("音频");
        AbstractComponent video = new FileFolder("视频");
        AbstractComponent pics = new FileFolder("图片");
        //创建三个音频文件 两个视频文件 两个图片文件
        AbstractComponent a1 = new FileClass("如愿.mp3");
        AbstractComponent a2 = new FileClass("荷塘月色.mp3");
        AbstractComponent a3 = new FileClass("小苹果.mp3");
        AbstractComponent v1 = new FileClass("霸道总裁爱上我.avi");
        AbstractComponent v2 = new FileClass("天降学妹大战我的青梅.avi");
        AbstractComponent p1 = new FileClass("山水.png");
        AbstractComponent p2 = new FileClass("美食.jpg");

//        p1.addComponent(new FileClass(("aaa")));
        //构建树形结构 :把三个音频文件放入音频文件夹 两个视频文件放入视频文件夹 两张图片放入图片文件夹
        audio.addComponent(a1);
        audio.addComponent(a2);
        audio.addComponent(a3);
        video.addComponent(v1);
        video.addComponent(v2);
        pics.addComponent(p1);
        pics.addComponent(p2);
        //将【音频】【视频】【图片】文件夹放入根目录【娱乐】当中
        root.addComponent(audio);
        root.addComponent(video);
        root.addComponent(pics);
        return root;
    }

    public static void main(String[] args) {
        AbstractComponent root = buildTree();
        root.killVirus();
    }

}
